namespace ext.form
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>A grouping container for {@link Ext.form.Radio} controls.</summary>
	/// <definedin>src\widgets\form\RadioGroup.js</definedin>
	[ScriptName("RadioGroup")]
	[ScriptNamespace("Ext.form")]
	[Imported()]
	public partial class RadioGroup : ext.form.CheckboxGroup
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="config">Configuration options</param>
		public RadioGroup(ext.form.RadioGroup_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public RadioGroup()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>
		/// An Array of {@link Ext.form.Radio Radio}s or Radio config objects
		/// to arrange in the group.
		/// </summary>
		/// <definedin>src\widgets\form\RadioGroup.js</definedin>
		[ScriptName("items")]
		public System.Array Items;
		
		/// <summary>
		/// True to allow every item in the group to be blank (defaults to true).
		/// If allowBlank = false and no items are selected at validation time, {@link @blankText} will
		/// be used as the error text.
		/// </summary>
		/// <definedin>src\widgets\form\RadioGroup.js</definedin>
		[ScriptName("allowBlank")]
		public bool AllowBlank;
		
		/// <summary>
		/// Error text to display if the {@link #allowBlank} validation fails
		/// (defaults to &apos;You must select one item in this group&apos;)
		/// </summary>
		/// <definedin>src\widgets\form\RadioGroup.js</definedin>
		[ScriptName("blankText")]
		public string BlankText;
		
		/// <summary>Fires when the state of a child radio changes.</summary>
		/// <definedin>src\widgets\form\RadioGroup.js</definedin>
		[ScriptName("changeEventName")]
		public const string ChangeEventName = "change";
		#endregion
		
		#region Methods
		/// <summary>Gets the selected {@link Ext.form.Radio} in the group, if it exists.</summary>
		/// <definedin>src\widgets\form\RadioGroup.js</definedin>
		/// <returns>The selected radio.</returns>
		[ScriptName("getValue")]
		public ext.form.Radio GetValue()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the checked radio in the group.</summary>
		/// <definedin>src\widgets\form\RadioGroup.js</definedin>
		/// <param name="id">The radio to check.</param>
		/// <param name="value">The value to set the radio.</param>
		/// <returns>this</returns>
		[ScriptName("onSetValue")]
		public ext.form.RadioGroup OnSetValue(string id, bool value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the checked radio in the group.</summary>
		/// <definedin>src\widgets\form\RadioGroup.js</definedin>
		/// <param name="id">The radio to check.</param>
		/// <param name="value">The value to set the radio.</param>
		/// <returns>this</returns>
		[ScriptName("onSetValue")]
		public ext.form.RadioGroup OnSetValue(ext.form.Radio id, bool value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
		
		#region Events
		/// <summary>Fires when the state of a child radio changes.</summary>
		/// <definedin>src\widgets\form\RadioGroup.js</definedin>
		[ScriptName("change")]
		public event ext.auto.Delegate_ext_form_RadioGroup_And_ext_form_Radio Change;
		#endregion
	}
}
